import axios from "axios"
import router from "../router"
import { Toast } from "vant"

//拿数组定义缺失缺少的页面
const errpage = [404, 500]
// 添加请求拦截器
axios.interceptors.request.use((config) => {
  const token = localStorage.getItem("token");
  if (token) {
    config.headers.authorization = `Bearer ${token}`
  }
  // 在发送请求之前做些什么
  return config;
});

// // 添加响应拦截器
axios.interceptors.response.use((config) => {
  // console.log(config)
  return {
    //在api里面的参数为data,config后面必须为data
    data: config.data.checkCode || config.data.data || config.data.token,//配置登录的所有数据
    message: config.data.msg || "请求成功",


  }

}, err => {
  const { status } = err.response
  console.dir(status)
  //错误提示
  Toast.fail({
    message: status,
    position: "top"
  })
  //如果缺失缺少的页面存在，就跳到对应的缺少页面
  if (errpage.some(item => item === status)) {
    router.push(`/${status}`)
  }
  else {
    //不存在缺失的页面，统一跳到404
    router.push(`/404`)
  }
})



// const errpage = [404,500]

// // 请求拦截
// axios.interceptors.request.use(config=>{
//   return config
// })

// // 响应拦截
// axios.interceptors.response.use(config=>{
//   return {
//     //返回直接拿到的code状态和msg是否成功
//     code:config.data.code,
//     msg:config.data.msg
//   }
// },err=>{
//   console.dir(err.response.status)
//   return err
// })


// if (errpage.some(item => item === status)) {
//       router.push(`/${status}`)
//     }
//     else {
//       //不存在缺失的页面，统一跳到404
//       router.push(`/404`)
//     }

export default axios